home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 6
/
FM Towns Free Software Collection 6.iso
/
t_os
/
vdtwn
/
tvf
/
asmhd6
/
comdhd6
/
f_col_4.hd6
< prev
next >
Wrap
Text File
|
1993-07-08
|
5KB
|
328 lines
ds_name db '\KOMEI\実物\TVF_PRG\F_COL',0
paint_wd:
re_paint:
WD_CLS 0
re_paint1:
BOX boxdt,21
BOX boxdt2,4
BOX boxdt3,4
MOZI mozidt
MOZI mozidt1
ret
be_called:
YOMU ax,306
cmp ax,1
je called1
cmp ax,2
je col_get
ret
called1:
call boxdt3
mov bx,76[edi]
KAKU 300,bx
KAKU 302,bx
mov ax,0
KAKU 306,ax
ret
col_get:
YOMU bx,308
call boxdt3
and bx,0111111111111111b
mov 76[edi],bx
mov ax,0
KAKU 306,ax
jmp new_col
di_mou:
call sub_edi
dw ?
mouse_in:
cmp ch,0
jne mouseck
ret
mouseck:
call di_mou
mov [edi],cx
MOU boxdt,21
cmp bx,1 ;bx=1 find
je short mck1 ;ax = no
ret
mck1:
cmp ax,15
jle find1
cmp ax,21
jle find2
ret
di_fullcol:
call sub_edi
dw 0111111111111111b
ds_bulcol:
call sub_esi
dw 0000000000011111b
ds_redcol:
call sub_esi
dw 0000011111000000b
ds_grncol:
call sub_esi
dw 0111110000000000b
ds_bulsu:
call sub_esi
dw 31
ds_redsu:
call sub_esi
dw 31
ds_grnsu:
call sub_esi
dw 31
find1:
call boxdt3
mov bx,76[edi]
dec ax
btc bx,ax
mov 76[edi],bx
new_col:
mov ax,bx
and ax,0111110000000000b
shr ax,10
call ds_bulsu
mov [esi],ax
mov ax,bx
and ax,0000001111100000b
shr ax,5
call ds_redsu
mov [esi],ax
mov ax,bx
and ax,0000000000011111b
call ds_grnsu
mov [esi],ax
call ds_bulcol
mov cx,[esi]
and cx,bx
mov 16[edi],cx
call ds_redcol
mov cx,[esi]
and cx,bx
mov 36[edi],cx
call ds_grncol
mov cx,[esi]
and cx,bx
mov 56[edi],cx
call mozidt
add edi,14
mov ecx,15
mov dx,0
p_bt_mozi:
bt bx,dx
jc p_k31
mov al,'0'
jmp p_mozi
p_k31:
mov al,'1'
p_mozi:
mov [edi],al
inc dx
add edi,2
loop p_bt_mozi
mov ax,bx
shr ax,10
mov cl,10
div cl
call mozidt1
add al,30h
add ah,30h
mov 20[edi],ax
mov ax,bx
and ax,0000001111100000b
shr ax,5
mov cl,10
div cl
add al,30h
add ah,30h
mov 17[edi],ax
mov ax,bx
and ax,0000000000011111b
mov cl,10
div cl
add al,30h
add ah,30h
mov 14[edi],ax
call re_paint1
call kesu_ms
ret
kesu_ms:
M_KESUMS
find2:
call di_mou
mov cx,[edi]
cmp ax,17
jg o_red
call ds_grnsu
jmp find2_0
o_red:
cmp ax,19
jg o_gr
call ds_redsu
jmp find2_0
o_gr:
call ds_bulsu
find2_0:
mov bx,[esi]
cmp ax,17
je find3
cmp ax,19
je find3
cmp ax,21
je find3
cmp ch,2
je find2b
cmp bx,21
jle find2_1
ret
find2_1:
add bx,10
jmp su_kei
find2b:
cmp bx,10
jge find2b_1
ret
find2b_1:
sub bx,10
jmp su_kei
find3:
cmp ch,2
je find3b
cmp bx,30
jle find3_1
ret
find3_1:
inc bx
jmp su_kei
find3b:
cmp bx,1
jge find3b_1
ret
find3b_1:
dec bx
su_kei:
mov [esi],bx
call ds_bulsu
mov ax,[esi]
call ds_redsu
mov bx,[esi]
call ds_grnsu
mov cx,[esi]
shl ax,10
shl bx,5
add ax,bx
add ax,cx
call boxdt3
mov 76[edi],ax
mov bx,ax
jmp new_col
look_me:
call sub_esi
dd 0,0
dw 1,0,136,80,380,0,15,4,0,0
boxdt:
call sub_edi
dw 5,10,16,30,3,16,0,12,3,0
dw 5,10,16,30,21,16,0,12,3,0
dw 5,10,16,30,39,16,0,12,3,0
dw 2,8,20,113,3,8,0,1,2,0
dw 2,8,20,113,21,8,0,1,2,0
dw 2,8,20,113,39,8,0,1,2,0
boxdt2:
call sub_edi
dw 1,15,15,4,2,15,0,12,0,0
dw 1,15,15,4,20,15,0,12,0,0
dw 1,15,15,4,38,15,0,12,0,0
dw 1,15,15,4,56,15,0,12,0,0
boxdt3:
call sub_edi
dw 1,15,15,4,2,15,0,0,3fh,1
dw 1,15,15,4,20,15,0,0,03e0h,1
dw 1,15,15,4,38,15,0,0,7e00h,1
dw 1,15,15,4,56,15,0,0,7fffh,1
; [count][sz_x][sz_y][off_x][off_y][+x][+y][f_col][b_col][s_no]
mozidt:
call sub_edi
dw 0 ;screen_no
dw 15 ; mozi_color
dw 30 ; 書き出し位置 x
dw 0 ; y
dw 0 ; next offset x
dw 18 ; next offset y
dw 3 ; gyo suu
db '1 1 1 1 1',0
db '1 1 1 1 1',0
db '1 1 1 1 1',0
dw 0,0
mozidt1:
call sub_edi
dw 0 ;screen_no
dw 15 ; mozi_color
dw 114 ; 書き出し位置 x
dw 0 ; y
dw 0 ; next offset x
dw 18 ; next offset y
dw 3 ; gyo suu
db '31',0
db '31',0
db '31',0
dw 0,0